Ref the new icons before unreffing the old ones. (#154468, Morten
authorMatthias Clasen <mclasen@redhat.com>
Mon, 4 Oct 2004 14:47:03 +0000 (14:47 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 4 Oct 2004 14:47:03 +0000 (14:47 +0000)
2004-10-04  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
before unreffing the old ones.  (#154468, Morten Welinder)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkwindow.c

index 72b10b5b10346c91cb8cfd1afb8382e20341cd15..db0ad27b38ae53a9e87b21006dd06b090e3a6c93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
+       before unreffing the old ones.  (#154468, Morten Welinder)
+
 2004-10-03  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
index 72b10b5b10346c91cb8cfd1afb8382e20341cd15..db0ad27b38ae53a9e87b21006dd06b090e3a6c93 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
+       before unreffing the old ones.  (#154468, Morten Welinder)
+
 2004-10-03  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
index 72b10b5b10346c91cb8cfd1afb8382e20341cd15..db0ad27b38ae53a9e87b21006dd06b090e3a6c93 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
+       before unreffing the old ones.  (#154468, Morten Welinder)
+
 2004-10-03  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
index 72b10b5b10346c91cb8cfd1afb8382e20341cd15..db0ad27b38ae53a9e87b21006dd06b090e3a6c93 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
+       before unreffing the old ones.  (#154468, Morten Welinder)
+
 2004-10-03  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
index 01509ba21fdb8885c04a742ad4e5675f697a7f47..20663570342982362e3b2ff7244cc935dac06daf 100644 (file)
@@ -2653,11 +2653,11 @@ icon_list_from_theme (GtkWidget    *widget,
   icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (widget));
 
   sizes = gtk_icon_theme_get_icon_sizes (icon_theme, name);
-  list = NULL;
 
+  list = NULL;
   for (i = 0; sizes[i]; i++)
     {      
-      /* FIXME 
+      /* FIXME
        * We need an EWMH extension to handle scalable icons 
        * by passing their name to the WM. For now just use a 
        * fixed size of 48.
@@ -2672,6 +2672,8 @@ icon_list_from_theme (GtkWidget    *widget,
        list = g_list_append (list, icon);
     }
 
+  g_free (sizes);
+
   return list;
 }
 
@@ -2852,14 +2854,15 @@ gtk_window_set_icon_list (GtkWindow  *window,
   if (info->icon_list == list) /* check for NULL mostly */
     return;
 
+  g_list_foreach (list,
+                  (GFunc) g_object_ref, NULL);
+
   g_list_foreach (info->icon_list,
                   (GFunc) g_object_unref, NULL);
 
   g_list_free (info->icon_list);
 
   info->icon_list = g_list_copy (list);
-  g_list_foreach (info->icon_list,
-                  (GFunc) g_object_ref, NULL);
 
   g_object_notify (G_OBJECT (window), "icon");